﻿using System;
using TodoList.Mono.MainObject;
using TodoList.TodoTask;

namespace TodoList.Mono.TodoTask
{
    public partial class TodoTaskItem
    {
        
        private static string GetRemainingTime(DateTime targetDateTime)
        {
            DateTime currentTime = DateTime.Now;

            if (currentTime.Date == targetDateTime.Date) return "今天是截止日期！";
            if (currentTime > targetDateTime) return "已截止！";
    
            TimeSpan remainingTime = targetDateTime - currentTime;
    
            // 如果剩余时间大于3天，显示剩余的天数
            if (remainingTime.Days > 3) return $"{remainingTime.Days} 天";

            // 计算剩余的天数、小时和分钟
            int days = remainingTime.Days;
            int hours = remainingTime.Hours;
            int minutes = remainingTime.Minutes;

            return days > 0
                ?
                // 显示天、小时和分钟
                $"剩余 {days} 天 {hours} 小时 {minutes} 分钟"
                : hours > 0
                    ?
                    // 如果没有天数，只显示小时和分钟
                    $"剩余 {hours} 小时 {minutes} 分钟"
                    :
                    // 如果没有天数和小时，只显示分钟
                    $"剩余 {minutes} 分钟";
        }
        
        public void ChangeDone()
        {
            m_TodoTask.IsDone = !m_TodoTask.IsDone;
            UpdateColor();
            Main.Instance.SqlAccess.Update(m_TodoTask);
        }

        public void ChangeToDelete()
        {
            m_Animator.SetBool(m_ToBeDelete, true);
        }
        
        public void ChangeNotDelete()
        {
            m_Animator.SetBool(m_ToBeDelete, false);
        }
        
        public void DeleteItem()
        {
            Main.Instance.SqlAccess.Delete<TodoTaskTable>(m_Id);
            Main.QueryAll();
        }
        
    }
}